package com.example.xunai.service.ai;

import com.example.xunai.dto.request.ai.StreamChatRequest;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;

import java.util.List;

/**
 * 流式聊天服务接口
 */
public interface StreamChatService {

    /**
     * 流式聊天
     */
    SseEmitter streamChat(StreamChatRequest request);

    /**
     * 设置流式对话停止标志
     */
    void setStreamStopFlag(String sessionId);

    /**
     * 检查流式对话是否应该停止
     */
    boolean shouldStopStream(String sessionId);

    /**
     * 清除流式对话停止标志
     */
    void clearStreamStopFlag(String sessionId);

    /**
     * 恢复中断的流式对话
     */
    List<String> getStreamingMessages(Long conversationId);
}